package com.company.aicrawlers.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 问句实体类
 *
 * @author AI Crawlers Team
 * @date 2025-10-10
 */
@Data
@TableName(value = "question", autoResultMap = true)
public class Question {
    
    /**
     * 问句ID
     */
    @TableId(type = IdType.AUTO)
    private Long questionId;
    
    /**
     * 问句内容
     */
    private String questionContent;
    
    /**
     * 问句内容MD5值（用于防重复）
     */
    private String contentMd5;
    
    /**
     * 问句类别（信息查询/比较选择/购买建议/问题解决）
     */
    private String category;
    
    /**
     * 用户意图类型
     */
    private String intentType;
    
    /**
     * 标签列表（JSON数组）
     */
    @TableField(typeHandler = JacksonTypeHandler.class)
    private List<String> tags;
    
    /**
     * 优先级（high/medium/low）
     */
    private String priority;
    
    /**
     * 主要关联产品ID（单个产品场景）
     */
    private Long primaryProductId;
    
    /**
     * 状态（1:启用 0:禁用）
     */
    private Integer status;
    
    /**
     * 采集次数
     */
    private Integer collectCount;
    
    /**
     * 最后采集时间
     */
    private LocalDateTime lastCollectTime;
    
    /**
     * 备注
     */
    private String remark;
    
    /**
     * 创建人
     */
    private String createBy;
    
    /**
     * 创建时间
     */
    private LocalDateTime createTime;
    
    /**
     * 更新时间
     */
    private LocalDateTime updateTime;
}

